package com.yyw.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.yyw.bean.Criticism;
import com.yyw.bean.Tractate;

@Mapper
public interface TractateDao {

    /**
     * 通过id修改指定评论
     *
     * @param criticism
     * @return
     */
    int updateCriticismById(Criticism criticism);

    /**
     * 根据id获取评论
     *
     * @param id
     * @return
     */
    Criticism getCriticismById(@Param("id") Long id);

    /**
     * 添加短文
     *
     * @param tractate
     * @return
     */
    int saveTractate(Tractate tractate);

    int updateTractate(Tractate tractate);

    int deleteTractate(@Param("id") Long id);

    /**
     * 获取指定难度一下的所有短文,如果level为null，则表示获取所有
     *
     * @param level
     * @return
     */
    List<Tractate> getTractates(@Param("level") Integer level);

    /**
     * 根据id获取短文
     *
     * @param id
     * @return
     */
    Tractate getTractateById(@Param("id") Long id);

    /**
     * 根据短文id，获取评论，按时间降序排序
     *
     * @param tractateid
     * @return
     */
    List<Criticism> getCriticismsByTractateId(@Param("tractateid") Long tractateid);

    /**
     * 添加评论
     *
     * @param criticism
     * @return
     */
    int saveCriticism(Criticism criticism);

}
